﻿namespace WSongPrjFinal.Controllers.Youtube.Player
{
    public class YouTubePlayer
    {
        public YouTubePlayer()
        {
            LoadRelatedVideos = 1;
            AutoPlay = 0;
            Loop = 0;
            EnableJavaScriptApi = 0;
            PlayerApiId = string.Empty;
            DisableKeyboard = 0;
            EnhancedGenieMenu = 0;
            Border = 0;
            PrimaryBorderColor = "#FFFFFF";
            SecondaryBorderColor = "#FFFFFF";
            SecondsFromStart = 0;
            FullScreen = 1;
            Hd = 0;
            ShowSearchBox = 0;
            ShowVideoInfo = 0;
            VideoAnnotations = 3;
        }

        /// Valores: 0 ou 1. Default é 1. Define se o player deve carregar os vídeos relacionados uma vez que a reprodução do vídeo começa.
        /// Vídeos relacionados são exibidos no menu "genie" quando o botão do menu for pressionado.
        /// A funcionalidade de pesquisa do player será desativada se related é definido como 0.
        public int LoadRelatedVideos { get; set; }

        /// Valores: 0 ou 1. Default é 0. Define se vídeo inicial será reproduzidos automaticamente quando o player é carregado.
        public int AutoPlay { get; set; }

        /// Valores: 0 ou 1. Default é 0. No caso de um único leitor de vídeo, uma configuração de 1 fará com que o player volte ao vídeo inicial
        /// E novamente. No caso de uma lista de vídeos (ou player personalizado), o player vai reproduzir toda a lista de reprodução e, em seguida, começar de novo no primeiro vídeo.
        public int Loop { get; set; }

        /// Valores: 0 ou 1. Default é 0. Ajustando para 1 permitirá a API Javascript. Para mais informações sobre a API Javascript
        /// E como usá-lo, consulte a documentação da API JavaScript.
        /// http://code.google.com/apis/youtube/js_api_reference.html
        public int EnableJavaScriptApi { get; set; }

        /// O valor pode ser qualquer seqüência alfanumérica. Esta configuração é usada em conjunto com a API JavaScript. Consulte a documentação da API JavaScript para mais detalhes.
        /// http://code.google.com/apis/youtube/js_api_reference.html
        public string PlayerApiId { get; set; }

        /// Valores: 0 ou 1. Default é 0. Definindo 1 irá desativar os controles do teclado jogador. Controles do teclado são os seguintes:
        /// Espaço: Play / Pause 
        /// Seta esquerda: Reinicia o video 
        /// Seta direta: salta 10% do tempo de reprodução do vídeo 
        /// Seta cima: aumenta o volume 
        /// Seta baixo: abaixa o volume 
        public int DisableKeyboard { get; set; }

        /// Valores: 0 ou 1. Default é 0. Definindo 1 habilita o "Enhanced Genie Menu". Este comportamento faz com que o menu "genie" (se houver) para aparecer
        /// Quando o mouse do usuário entra na área de exibição do vídeo, ao invés de só aparecer quando o botão do menu for pressionado.
        public int EnhancedGenieMenu { get; set; }

        /// Valores: 0 ou 1. Default é 0. Definindo 1 permite uma borda ao redor do player de vídeo. A cor primária da borda pode ser definida via
        /// O parâmetro cor 1 (PrimaryBorderColor) e uma cor secundária pode ser definido pelo parâmetro cor 2 (SecondaryBorderColor).
        public int Border { get; set; }

        /// Valores: Qualquer valor em formato hexadecimanl para RGB. Essa é a cor primária da borda.
        public string PrimaryBorderColor { get; set; }

        /// Valores: Qualquer valor em formato hexadecimanl para RGB. Esta é a barra de controle de cor de fundo e cor da borda de vídeo secundário.
        public string SecondaryBorderColor { get; set; }

        /// Valores: inteiro positivo. Este parâmetro faz com que o player começe a reproduzir o vídeo de um dado número de segundos a partir do início do vídeo.
        /// Similar a função seekTo, o jogador vai procurar o mais próximo quadro-chave para o tempo que você especificar.
        /// Isso significa que, por vezes, a reprodução pode iniciar pouco antes do horário solicitado, geralmente não mais do que aproximadamente 2 segundos.
        public int SecondsFromStart { get; set; }

        /// Valores: 0 ou 1. Default é 0. Definindo a 1 ativa o botão fullscreen. Isto não tem efeito sobre o Player do Chrome.
        /// Note que você deve incluir alguns argumentos extras para o seu código de incorporação para que isso funcione. O parâmetro allowFullScreendo exemplo habilita a funcionalidade de tela cheia:
        // <object width="425" height="344">
        // <param name="movie" value="http://www.youtube.com/v/htKY2oD85rs&fs=1"</param>
        // <param name="allowFullScreen" value="true"></param>
        // <embed src="http://www.youtube.com/v/htKY2oD85rs&fs=1"
        // type="application/x-shockwave-flash"
        // allowfullscreen="true"
        // width="425" height="344">
        // </embed>
        // </object>
        public int FullScreen { get; set; }

        /// Definindo 1 permite a reprodução de HD por padrão. Isto não tem efeito sobre o player do Chrome .
        /// Este também não tem nenhum efeito se uma versão HD do vídeo não está disponível. Se você habilitar esta opção, tenha em mente que os usuários com uma
        /// conexão mais lenta ter uma experiência ruim, a menos que desligue HD. Você deve garantir que seu player é grande o suficiente para
        /// Exibir o vídeo em sua resolução nativa.
        public int Hd { get; set; }

        /// Valores: 0 ou 1. Default é 1. Definindo 0 desativa a exibir caixa de pesquisa quando o vídeo é minimizado.
        /// Se o parâmetro related (LoadRelatedVideos) é definido como 0, em seguida, a caixa de pesquisa também será desativado, independentemente do valor da showsearch.
        public int ShowSearchBox { get; set; }

        /// Valores: 0 ou 1. Default é 1. Definindo 0 faz com que o player não exiba informações como o título do vídeo e classificação antes de o vídeo começar a reproduzir.
        public int ShowVideoInfo { get; set; }

        /// Valores: 1 ou 3. Definindo 1 exibirá anotações de vídeo por padrão, 3 não mostrará por padrão.
        public int VideoAnnotations { get; set; }
    }
}